﻿Imports BusinessRule.DTO

'Description:批次分批
'Copyright (c) : 通力凯顿（北京）系统集成有限公司
'Writer:tianFW
'create Date:2017-5-20
'Rewriter:
'Rewrite Date:
Public Interface uLMSSplitIBusiness
    ''' <summary>
    ''' 获取分批审理数据
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult

    ''' <summary>
    ''' 添加批次分批信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddChildContianerInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据containername获取相似的containername
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetLikeContainerNameByContainerName(ByVal strcontainername) As DataTable

    ''' <summary>
    ''' 添加检验结果
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddCheckResult(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 添加分批次明细
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddChildContainerdetailInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据分批唯一ID查询已存的零件信息
    ''' </summary>
    ''' <param name="ContainerSplitInfoID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SelectChildContainerDetailInfo(ByVal ContainerSplitInfoID As String) As DataTable

    ''' <summary>
    ''' 获取批次当前序的报工信息
    ''' </summary>
    ''' <param name="containerID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetWorkReportInfo(ByVal containerID As String)

    ''' <summary>
    ''' 更新拆分批次报工表信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateWorkReportInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 更新汇总表中的检验序标识（首检或工序检）
    ''' </summary>
    ''' <param name="contaienrid">批次ID</param>
    ''' <param name="type">1 首检 2 工序检</param>
    ''' <param name="value">0检验序标识 0 1 2</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateCurrentInfoCheckNum(ByVal contaienrid As String, ByVal type As Integer, ByVal value As String) As Boolean

    ''' <summary>
    ''' 更新检验表中的ContainerID信息
    ''' </summary>
    ''' <param name="containercheckinfoID"></param>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainerCheckInfo(ByVal containercheckinfoID As String, ByVal containerid As String) As Boolean

    ''' <summary>
    ''' 更新汇总表中报工数
    ''' </summary>
    ''' <param name="qty"></param>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContianercurrentInfoWorkReportNum(ByVal qty As String, ByVal containerid As String) As Boolean

    ''' <summary>
    ''' 根据报工ID获取已经报工的子序号信息或获取所有的批次当前序报工子序号
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerStepWorkReportChildInfo(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' 根据子序号更新报工信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainerStepWorkReportChild(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据派工单ID更新派工单数量
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainerStepDispatchInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据contianerid 更新汇总表中的派工标识和工序派工标识
    ''' </summary>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdataContainerCurrentInfo_DispatchNum_IsDispatch(ByVal containerid As String) As Boolean

    ''' <summary>
    ''' 根据ContainerID获取检验批次已经检验的数量等信息
    ''' </summary>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCheckInfo(ByVal containerid As String) As DataTable

    ''' <summary>
    ''' 更新汇总表中的批次总报废数信息
    ''' </summary>
    ''' <param name="strqty"></param>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainercurrent_Alllosstqy(ByVal strqty As String, ByVal containerid As String) As Boolean

    ''' <summary>
    ''' 更新批次分批后的派工信息
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateOldDispatch(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据批次更新报工表中的派工单ID
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainerStepWorkInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 获取检验信息并修改该信息 create tianFW 2017/11/03
    ''' </summary>
    ''' <param name="ContainerCheckInfoID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetCheckInfoAndChangeCheckInfo(ByVal ContainerCheckInfoID As String, ByVal SplitQty As Integer) As DataTable

    ''' <summary>
    ''' 添加批次检验记录
    ''' Create:tianFW 2017/11/03
    ''' </summary>
    ''' <param name="entity"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddContainerCheckInfo(ByVal entity As ContainerCheckInfoDTO) As Boolean

    ''' <summary>
    ''' 根据检验唯一ID获取工时记录信息 create tianFW 2017年11月20日
    ''' </summary>
    ''' <param name="ContainerCheckInfoID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetStepTimeInfoByCheckID(ByVal ContainerCheckInfoID As String) As DataTable

    ''' <summary>
    ''' 按工时记录表唯一ID删除工时记录 create tianFW 2017年11月20日
    ''' </summary>
    ''' <param name="ContainerStepTimeSheetID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function DelStepTimeInfoByID(ByRef ContainerStepTimeSheetID As String) As Boolean

    ''' <summary>
    ''' 获取批次历史拆分记录 2017年12月25日 create tianFW 
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerHistorySplitInfo(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' 删除批次拆分记录 2017年12月28日17:02:54
    ''' </summary>
    ''' <param name="ID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function DelContainerSplitInfo(ByVal ID As String) As Boolean

    ''' <summary>
    ''' 获取批次主工艺的子工序关联信息 create tianFW2018年3月8日
    ''' </summary>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetSubWorkflowInfoByContainerID(ByVal containerid As String) As DataTable

    ''' <summary>
    ''' 分批为新批次增加工艺与子工艺关联信息 create tianFW 2018年3月8日
    ''' </summary>
    ''' <param name="containerid"></param>
    ''' <param name="splitcontainerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddSplitContainerSubWorkflowInfo(ByVal containerid As String, ByVal splitcontainerid As String) As Boolean

    ''' <summary>
    ''' 更新批次分批状态标识
    ''' </summary>
    ''' <param name="containerID">批次ID</param>
    ''' <param name="type">更新状态0 无 1 有</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateSplitNum(ByVal containerID As String, ByVal type As Integer) As Boolean
End Interface
